git 学习

您所在的位置:网站首页 git stash 报错 git 学习

git 学习

2023-04-18 06:34| 来源: 网络整理| 查看: 265

在 master-1分支上合并my-feature-1分支(解决该解决的冲突,保留该保留的代码),并产生一个合并提交 G:

切换到 my-feature-1 分支上查看 commit,然后切换到 master-1 分支直接使用 git merge 07...d2,会得到 Auto-merging 时的 CONFLICT,进入文件进行修复,然后提交成为一个 commit,最后 git merge 07...d2 并 push 到仓库。

得到的结构如图所示:

xxxxxxxxxx31     A---B---C         my-feature-12     /         \3 ---D---E---F---G       master-1

在 my-feature-2 分支上 rebase master-2 分支(解决该解决的冲突,保留该保留的代码):

切换到 my-feature-2 上运行 git rebase master-2,然后逐个(逐个commit?)解决冲突,最后 git push -f 提交。

得到的结构如图所示:

xxxxxxxxxx31D---E---F---A'---B'---C'       my-feature-22       |3       master-2

将 my-feature-3 分支上的 3 个提交(A、B、C)使用 merge --squash 方式(解决该解决的冲突,保留该保留的代码),使得这三个提交被合并成一个提交进入 master-3 分支:

类似 merge 的操作,可以直接输入分支名 git merge --squash my-feature-3,然后手动解决冲突并提交。

得到的结构如图所示:

xxxxxxxxxx51     A---B---C       my-feature-32     /3 ---D---E---F---G     master-3 4               |5               压扁后的提交

将基于 my-feature 分支上面最新的三个提交压扁成一个提交:

首先使用 git log 查看 commit 记录及标号,然后找到要被压缩的段的前一个,也就是 D,执行 git rebase -i 4e....6c,会连续两次弹出两个文件,第一个文件中 pick 表示使用当前 commit,squash 表示会压缩到前一个 commit。第二个文件是合并后 commit 的表述。

压扁前:

xxxxxxxxxx11 ---D---E---F---G     my-feature

压扁后:

xxxxxxxxxx31 ---D---H             my-feature2       |3       压扁后的提交


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3